package com.xiaobingby.db.generator.mybatisplus;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Scanner;

/**
 * mybatis-plus 代码生成
 * @author XiaoBingBy
 * @date 2018-08-30 12:18
 * @since 1.0
 */
public class MPGeneratorNew {

    public static void main(String[] args) {
        // 生成模板选择
        int result = scanner();

        // 代码生成器
        AutoGenerator mpg = new AutoGenerator().setGlobalConfig(
            null
        ).setDataSource(
                null
        ).setStrategy(
                null
        ).setPackageInfo(
                null
        ).setCfg(
                null
        ).setTemplate(
                null
        );

        // 执行生成
        if (1 == result) {
            mpg.setTemplateEngine(new FreemarkerTemplateEngine());
        }
        mpg.execute();

        // 打印注入设置，这里演示模板里面怎么获取注入内容【可无】
        System.err.println(mpg.getCfg().getMap().get("abc"));
    }

    /**
     * <p>
     * 读取控制台内容
     * </p>
     */
    public static int scanner() {
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append(" ！！代码生成, 输入 0 表示使用 Velocity 引擎 ！！");
        help.append("\n对照表：");
        help.append("\n0 = Velocity 引擎");
        help.append("\n1 = Freemarker 引擎");
        help.append("\n请输入：");
        System.out.println(help.toString());
        int slt = 0;
        // 现在有输入数据
        if (scanner.hasNext()) {
            String ipt = scanner.next();
            if ("1".equals(ipt)) {
                slt = 1;
            }
        }
        return slt;
    }

}
